This invention relates generally to wide area networks, and more particularly to systems and methods for creating test to evaluate web sites hosted by web servers coupled to a TCP/IP protocol network.
The Internet is a robust, Wide Area Network (WAN) of networks which permits communication among computers, networks, and other digital devices which adhere to a standard xe2x80x9cTCP/IPxe2x80x9d protocol. One of the most popular ways of communicating over the Internet is through the World Wide Web (WWW) comprising innumerable xe2x80x9cweb sitesxe2x80x9d, which are hosted on suitable digital processing machines such as personal computers, workstation, servers, etc. Users or xe2x80x9cclientsxe2x80x9d use, for example, their personal computers to communicate with a web site via a browser program or, simply, xe2x80x9cbrowser.xe2x80x9d Currently, the most commonly used browser is the Internet Explorer(trademark) from Microsoft, Inc.
It has become increasingly easy for companies and individuals to create their own web sites. There are a number of commercially available software applications which generate the necessary HTML code to create xe2x80x9cweb pagesxe2x80x9d which can be uploaded to web servers connected to the Internet. There are also web sites that can be used to create content for other web sites. Connections to the Internet and web server hosts are often provided by a company known as an Internet Service Provider (ISP).
Since web pages are, essentially, programs written in the HTML language, it is possible that one or more web pages of a web site may contain errors. These errors may only show up intermittently since much of the interaction with the web site can be dynamic, i.e. the interaction can change from session to session. Therefore, a need has arisen for some method to test web sites for errors.
In FIG. 1, a system 10 for testing a web site includes a TCP/IP protocol network, such as the Internet 12, a web server 14 coupled to the Internet 12 by an ISP 16, any number of user or client machines such as client machines 18A, 18B, 18C, etc. coupled to the Internet 12 by ISP""s 20A, 20B, 20C, etc., and a testing computer 22 coupled to the Internet 12 by an ISP 24.
In the prior art, software running on the testing computer 22 connects with a web site 26 hosted by the web server 14 through the Internet 12 and attempts to download web pages. Upon a failure to download a web page, the testing computer 22 running this prior art software detects an error.
It should be noted that the depiction of FIG. 1 is logical in nature, and may be implemented in a variety of fashions. For example, the testing computer 22 and the web server 14 can be the same machine. As another example, any of the client machines 18A, 18B, 18C, etc., or the testing computer 22, or the web server 14 can be connected into the Internet 12 in other fashions, such as into the xe2x80x9cbackbonexe2x80x9d of the Internet. Further the Internet 12 is only one example of a network implementing a TCP/IP protocol. Other examples of TCP/IP protocol networks include Intranets and Extranets, as will be appreciated by those skilled in the art.
The testing computers 22 of the prior art include testing software which simulate browser software to the extent that they can download web pages. The successful downloading of a web page in the prior art was usually considered sufficient to determine that the web page was error free. In some instances, prior art testing computers 22 may examine or xe2x80x9cparsexe2x80x9d the HTML of the downloaded web page to make further determination whether there is an error in the downloaded web page. An example of prior art testing software includes the WhatsUp(trademark) software of IpSwitch, Inc. of Lexington, Mass. This software is capable of testing only a single web page.
Unfortunately, the simple downloading of web pages with, perhaps, a cursory examination of the HTML is often insufficient to determine all the errors that a user might encounter when actually interacting with those web pages. This is due, in part, to the complex interactivity permitted under the HTML standards, and is due, in part, to the fact that many interactions with web pages are xe2x80x9cdynamicxe2x80x9d in that they may change from session to session. It would therefore be desirable to have a method for creating a test for a web site which can test multiple features of web pages, and which can handle dynamic interactions with the web site.
The present invention provides an apparatus and method for monitoring a chain of electronic transactions. The invention allows a user to monitor a plurality of tested servers through their backend services in a complex server system.
A method for monitoring a chain of electronic transactions in accordance with the present invention includes creating at least one monitor to monitor at least one system. Next, it is determined whether a monitor should be executed. The monitors monitor at least one system. The system to be monitored handles at least one electronic transaction within the chain of electronic transactions. Monitoring a system includes collecting information by a monitor. The monitors include system monitors and composite monitors, where system monitors monitor at least one system and composite monitors monitor the system monitors.
In a related embodiment, monitor information gathered by a first monitor may then be used in a subsequent monitor. This may be repeated for multiple subsequent monitors so that all subsequent monitors are using the original monitor information, or each subsequent monitor may use monitor information from the monitor before. Preferably all monitors are involved in the same chain of electronic transactions, so that the transactions are performed end-to-end.
In a preferred embodiment, determining whether a test of electronic transactions is executed includes determining whether a time interval has transpired. The time interval may be partially determined by the type of test performed on the system. More than one monitor may be used to test a web site, and the monitor information collected is stored in a storage device. In the case of multiple monitors, a user may determine the order of execution of the monitors. Processing monitor information includes determining if the monitor information collected indicates a successful electronic transaction. Preferably, successful electronic transactions are determined by comparing the monitor information to predetermined pass criteria. The method further provides for executing an error operation if a monitor detects an error has occurred in an electronic transaction. Errors can be detected through electronic mail confirmations, database confirmations, and script confirmations. Users may process the error messages and determine whether the monitoring process shall continue.
An apparatus for monitoring a chain of electronic transactions in accordance with the present invention includes a testing computer, a monitor, a first tested server, and a second tested server. The testing computer has a memory and a processor. The monitor resides in the testing computer memory and is executed by the testing computer""s processor. The first tested server has a first backend and is configured to be tested by the testing computer. The second tested server has a second backend and is also configured to be tested by the testing computer. The monitor is operable to monitor a plurality of tested servers by using the Internet to monitor a backend service of the tested servers.
Preferably, the monitor can formulate a test configuration file that contains a series of test inquiries for a web site to be tested. The monitor may also transmit an HTTP communication to form a connection a web site and receive HTML information with the web site. The monitor analyzes the HTML for errors and stores the results in a database. The monitor also formulates a new HTTP communication based upon the received HTML and the test configuration file. The monitor may be a composite monitor having individual monitors, wherein an interface allows a user to select which individual monitor to include in the composite monitor. The user may determine when the composite monitor is executed, the time between repetitive communications with the tested web site, and the order the individual monitors are executed.
An advantage of the present invention is that the method for testing a chain of electronic transactions allows a user to check and tabulate a complex server system. End-to-end transactions are monitored using a collection of several monitors. Transaction testing is achieved by checking the status readings of a specified set of monitors that the user configures.